import { defineStore } from "pinia";
import { nanoid } from "nanoid";
import axios from "axios";
import { ref } from "vue";

// 选项式写法
// export const useLoveTalkStore = defineStore("loveTalk", {
//   state: () => {
//     return {
//       talks: [
//         {
//           id: nanoid(),
//           msg: "你今天有点怪。怎么怪？怪好看。",
//         },
//         {
//           id: nanoid(),
//           msg: "草莓、蓝莓、蔓越莓，今天你最美。",
//         },
//       ],
//     };
//   },
//   actions: {
//     async getNewTalk() {
//       const response = await axios.get("https://api.uomg.com/api/rand.qinghua");
//       const {
//         data: { content: msg },
//       } = response;
//       this.talks.unshift({
//         id: nanoid(),
//         msg,
//       });
//     },
//   },
// });

// 组合式写法
export const useLoveTalkStore = defineStore("loveTalk", () => {
  const talks = ref([
    {
      id: nanoid(),
      msg: "你今天有点怪。怎么怪？怪好看。",
    },
    {
      id: nanoid(),
      msg: "草莓、蓝莓、蔓越莓，今天你最美。",
    },
  ]);

  async function getNewTalk() {
    // body 中的字段为 undefine 是不会传给后端的
    const response = await axios.post("https://api.uomg.com/api/rand.qinghua", {
      a: 1,
      b: null,
      c: undefined,
    });
    const {
      data: { content: msg },
    } = response;
    talks.value.unshift({
      id: nanoid(),
      msg,
    });
  }
  return { talks, getNewTalk };
});
